Symbol-based query mechanism

ABSTRACT

A technique for processing a query request from a terminal (TE) to a search engine (SE). A terminal user is allowed to select querry parameters by means of visual symbols, ie icons, such as a “here” symbol ( 94 ) and a “bank” symbol ( 95 ). Symbol identifiers ( 91, 93 ) of the user-selected symbols, and optional logical operators ( 92 ) are sent ( 10 - 2 ) from the terminal to a proxy server (PS) that replaces ( 10 4, 10 - 8 ) each symbol identifier in the query request with a plaintext description and presents ( 10 - 10 ) the query parameters in a query to the search engine (SE). If the proxy server (PS) detects a “here” symbol ( 94 ), it may query a location server (LS) to get the terminal&#39;s location which it then converts to plaintext. The query results are conveyed ( 10 - 16 ) to the terminal (EE).

BACKGROUND OF THE INVENTION

The invention relates to methods and equipment for initiating andprocessing queries, such as database searches. Such queries arefrequently used to retrieve various types of information and services,such as banks, hotels, restaurants, entertainment, and the like. ForInternet users, the best-known search engine, www.google.com, has provedinvaluable..

A primary problem associated with the prior art query mechanisms is thatthey are cumbersome to use with mobile terminals that do not have afull-size alphanumeric keyboard. While some mobile terminals do have analphanumeric keyboard, physical constraints limit the size of thekeyboard, and typing keywords for search is awkward. A secondary problemis that current search engines provide poor support for tourists in acountry whose language they do not speak.

BRIEF DESCRIPTION OF THE INVENTION

An object of the present invention is to provide methods and equipmentfor solving the primary problem that relates to the limited keyboards ofcurrent mobile terminals. The object of the invention is achieved by themethods and equipment which are characterized by what is stated in theindependent claims. The preferred embodiments of the invention, that aredisclosed in the dependent claims, provide additional advantages.

The invention is based on the idea of symbols to simplify keyword entry.Each symbol comprises at least a symbol identifier and visual data. Thevisual data of at least a subset of the symbols are displayed to aterminal user via the terminal's user interface. The user selects one ormore symbols. The symbol identifiers of the user-selected symbols arecollected until the user is satisfied with the set of symbols. Then thesymbol identifiers of the user-selected symbols are sent to a proxyserver that recognizes the symbol identifiers. The proxy server convertsthe symbol identifiers to corresponding plaintext descriptions andformats a query according to the syntax of a suitable search engine,such as the above-mentioned www.google.com. The proxy server receivesthe query results from the search engine and conveys the results to theterminal.

Typically, each symbol corresponds to one word or similar semanticentity. This is not an absolute requirement, however. By virtue of thesymbol identifiers, the symbols are not tied to a specific humanlanguage, and some words in one language translate to multiple words inanother. But we can say that each of a large majority of the symbolscorresponds to one word.

It should also be noted that while the user uses graphic symbols (visualdata) to select query parameters, the visual data need not be sent tothe proxy server but only the symbol identifiers. This is because theproxy server does not search for an arbitrary graphic image butrecognizes well-defined and system-wide symbol identifiers. The finalquery generated by the proxy server is entirely text-based, becauseconventional web search engines use text-based queries.

The visual data is intended for an iconic representation of a symbol.This means that the bitmap size (in a bitmap) or level of detail (in avector format) should be so small that resource consumption isminimized, but not so small that symbols cannot be recognized reliably,given the size and resolution of typical displays.

An aspect of the invention is a method for operating a terminal. Anotheraspect of the invention is a suitably programmed terminal. Yet otheraspects of the invention relate to methods and equipment of the proxyserver. A yet further aspect of the invention is a symbol server fordownloading further symbols to a terminal.

An advantage of the invention is that conventional search enginesoperating on the Internet can be conveniently accessed from a terminalthat does not have a full-size keyboard. The search engines themselvesneed not be modified to support the use of symbols. Another advantage ofthe invention is that multi-language support can be implemented withrelative ease. Visual representations of symbols and the symbolidentifiers are language-independent, and relatively little added effortis needed to store the plaintext descriptions in multiple languages onthe network side, whereby visiting network users can be supported intheir own language. A query from the terminal may then comprise a“desired language” indicator, in which case the proxy server replaceseach symbol identifier in the query request with a plaintext descriptionin a language that matches the “desired language” indicator.Additionally, there may be a “desired language” indicator for theresults of the query, in which case the proxy server can use an internalor external translation engine to translate the results of the query.Preferably, there is a default value for the desired language(s), sothat the terminal user need not select the language for each query.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following the invention will be described in greater detail bymeans of preferred embodiments with reference to the attached drawings,in which

FIG. 1 is a schematic illustration of a symbol;

FIG. 2 illustrates a symbol in a mark-up language;

FIG. 3 illustrates an optional symbol hierarchy;

FIG. 4 illustrates a user interface for selecting symbols;

FIG. 5 shows a network arrangement in which the invention can be used;

FIG. 6 shows a flowchart for specifying query parameters on the basis ofsymbols;

FIG. 7 shows query parameters and logical operators for an exemplaryquery;

FIG. 8 shows a signalling diagram for processing a simple query;

FIG. 9 shows a query that contains a “here” symbol;

FIG. 10 shows a signalling diagram for processing a query that containsa “here” symbol;

FIG. 11 shows a signalling diagram for processing a query in case a listof possible terminal locations is known;

FIG. 12 shows an exemplary query request in a mark-up language; and

FIG. 13 shows a signalling diagram for downloading symbols in a networkarrangement as shown in FIG. 5.

DETAILED DESCRIPTION OF THE INVENTION

In the attached figures, the first digit of a reference numeralindicates the figure in which the corresponding item is first described.For instance, item 11 is first described in FIG. 1.

FIG. 1 is a schematic illustration of a symbol, generally denoted byreference sign S. The essential components of the symbols S are symbolidentifier 11 and visual data 13. The symbol identifier 11 will be usedto create query parameters for the query. The visual data 13 is used tovisually present the symbols in a user interface. The visual data 13 canbe incorporated in the symbol S itself, or it can be a reference, suchas an filename (and an optional directory path) to a separate imagefile. For example, the visual data 13 may be in a scalable vectorgraphics (SVG) format, or it may be a bitmap. An advantage of thescalable vector graphics format is that the symbol is better viewable indevices having different resolutions.

The visual data is not a piece of art per se and is only intended for aniconic representation of a symbol. Thus the level of detail should bedimensioned such that symbols can be reliably distinguished but resourceconsumption is minimized. Given a display resolution of a few hundred ora thousand pixels in each direction, the visual data should not exceed100 pixels in either direction, and 32 by 32 pixels, or the equivalentamount of detail in a vector representation, can be considered areasonable size. Note that a large number of different symbols requiresa detailed iconic representation in order to make the symbolsdistinguishable.

Preferably, the symbol S also comprises a plaintext description 12. Theplaintext description can be selectively shown to remind a user as towhat the symbol means. Also, the plaintext description can be used toobtain more symbols from external sources, as will be described later.

The symbol S may also comprise an optional field 14 for indicatingcertain optional settings, commonly called flags. For example, there maybe a flag that indicates whether the symbol can be modified by the user.If there is an option for preventing users from modifying symbols, thesymbol must also comprise some integrity checking, such as checksums orhash codes, as is well known to persons skilled in cryptography.Further, the programs for checking the integrity must be executed inprotected memory.

The symbol S may also comprise an optional field 15 for indicatingauthorship, source, creation date, version, etc. It is envisioned thattelecommunication network operators will be able to charge small amountsof money for symbols downloaded from their networks, and such authorshipindicators will be useful. As regards this invention, however, the field15 is not essential.

FIG. 2 illustrates a symbol S in a mark-up language, such as XML(extendible mark-up language). The symbol shown in FIG. 2 isself-explanatory to a person with some knowledge in XML. Rows 20 a and20 b delineate the symbol. Row 21 comprises the symbol identifier 11.Row 22 comprises the plaintext description. Rows 23 a and 23 b delineatethe visual data 23 which in this example is a filename of “bank005.jpg”.Alternatively, the visual data 23 may be comprised as inline code withinthe symbol S. A benefit of the embodiment shown in FIG. 2, in which thevisual data 23 is a reference to an external image file, is that thesymbols S are very small and can be stored in multiple places of asymbol hierarchy without consuming too much memory. Alternatively, thevisual data 23 can be defined as an attachment to the symbol S,particularly in a case in which the symbol is coded in XML.

FIG. 3 illustrates an optional symbol hierarchy. According to apreferred embodiment of the invention, the symbols S are ordered in asymbol hierarchy, generally denoted by reference numeral 310. Thehierarchy resembles a file directory and is self-explanatory to anyperson with some knowledge in computers, and the hierarchy is preferablyuser-modifiable.

The hierarchy 310 has a root 312, two first-level branches 314, 316 andone second-level branch 318. Each branch in the hierarchy 310 comprisesan up symbol 320 for navigating to a higher-level branch. Or, the userinterface may comprise a key dedicated for that purpose.

FIG. 4 illustrates a user interface for selecting symbols. A terminal'suser interface UI comprises a display 40 and a set of cursor controlkeys, commonly denoted by reference numeral 41. In this example, thecursor control keys comprise four direction keys 42 a to 42 d, and aselector key 43.

Assume that the terminal user has navigated to branch 314 shown in FIG.3. This branch comprises symbols for entertainment. The display 40 showssymbols 44 to 47 for movies, concerts, theatres and ballet,respectively. More symbols can be seen by pressing the direction keys 42a to 42 d. One of the symbols 44 to 47 is referred to as “the symbolunder the cursor” and is shown by a dashed outline. In this example, itis the symbol 44 for movies. When the user presses the selector key 43,the symbol under the cursor is selected and its symbol identifier isaccepted as a query parameter.

FIG. 5 shows a network arrangement in which the invention can be used. Akey element of the invention is the component labelled PS/SS whichstands for proxy server and symbol server. The proxy server PS andsymbol server SS serve two separate functions, but they are preferablyintegrated in a single network element. The proxy/symbol server PS/SS isconnected to a data network DN, such as the Internet or a publicswitched telephone network (PSTN). The proxy/symbol server PS/SScomprises or is connected to a symbol data base SDB for storing a largecollection of symbols. Reference sign SE denotes a search engine, suchas the Google.

In the embodiment shown in FIG. 5, a user terminal TE, such as a mobiletelephone, accesses the proxy/symbol server PS/SS via a radio interfaceRI and an access network AN. For example, the access network may be acellular network. Most of the network elements of the access network ANare omitted. However, a mobile location server LS and a billing centreare shown, and they relate to various preferred embodiments of theinvention.

The symbol data base SDB contains the plaintext description 12 for thesymbols S. As a result, the proxy server PS can convert incoming symbolidentifiers to corresponding plaintext descriptions and pass them on thesearch engine SE.

According to another preferred embodiment of the invention, the symboldata base SDB contains the plaintext description 12 for the symbols S inseveral human languages. An advantage achieved by storing the plaintextdescriptions in several human languages is that a symbol server SS inone country may serve visiting users in their own languages. The symbolserver SS may determine the user's language on the basis of an explicitindication in the symbol request. Alternatively, the symbol server SSmay be operated by the operator of the access network AN or the internetservice provider ISP, in which case the symbol server SS may determinethe user's language on the basis of an inquiry to a subscriber register.As a further alternative, the symbol server SS may be operated on asubscription basis such that the user needs to register with theservice, in which case the symbol server knows the user's language onthe basis of the registration.

According to another preferred embodiment of the invention, the symbolserver SS is part of a network-wide or global hierarchy of symbolservers. FIG. 5 shows an optional top-level server TS. If the symbolserver SS does not have a requested symbol, it may contact the anotherserver, such as the top-level server TS. The symbol server SS may obtainnetwork addresses of other servers via a domain name server DNS.

According to yet another preferred embodiment of the invention, thesymbol server SS is adapted to send a billing centre BC of the accessnetwork AN a billing data record that indicates the number, price and/ortype of symbols transferred to the terminal. Thus the network operatormay charge the terminal subscriber for the transferred symbols.

FIG. 6 shows a flowchart for specifying query parameters on the basis ofsymbols. The user is prompted for symbols such that the set of symbolsindicate the query parameters. In step 6-1 the user is allowed tonavigate and select among the symbols. From the user interface point ofview, this step can be implemented as shown in FIGS. 3 and 4. In anoptional step 6-2 the user is prompted for a logical operator, such asAND or OR. Alternatively, the user may select a logical operatorsimilarly to selecting symbols. The symbol identifiers 11 of the symbolsindicated by the user and the optionally requested logical operators areadded to the query. Step 6-1 and the optional step 6-2 are repeateduntil the user indicates that the set of symbols for the query iscomplete in step 6-3. For example, a user who wishes to eat fish in aquiet restaurant may enter a query like “restaurant AND fish NOT music”.In step 64 the terminal sends the query parameters to the proxy server.In steps 6-5 and 6-6 the terminal receives the query results from theproxy server and displays them to the user.

FIG. 7 shows query parameters and logical operators for an exemplaryquery. Assume that the user wishes to locate movies in Berlin that havean English-language soundtrack. The user uses the procedure shown inFIG. 6 to enter four symbol identifiers ID1 to ID4 that will be used asquery parameters. In this example the first symbol identifier 71 is thesymbol identifier for “Movie”. The second symbol identifier 73 is thesymbol identifier for “Berlin”. The two last symbol identifiers 75 and77 mean “English” and “Sound”, respectively. In this example, oddnumerals 71 to 77 denote query parameters (symbol identifiers for searchkeys), while the even numerals 72 to 76 denote the connecting logicaloperators or the corresponding symbols. In FIG. 7, all logical operatorsare “AND”, as indicated by the ampersands. As is well known, AND is thedefault operator for Google, and the terminal may either use AND asdefault operator, or omit it entirely if the user does not enter anoperator. Other search engines may use a different syntax, and atechnique for indicating a preferred search engine will be disclosed inconnection with FIG. 12. Depending on the implementation chosen, thelogical operators 72, 74, 76 may be sent as the actual operators (AND,OR, NOT) or as corresponding symbol or operator identifiers. In manycultures, the English-language operators (AND, OR, NOT) are used assuch. Accordingly, a proxy server should be able to recognize theseoperators. Naturally, it is also possible to assign an operatoridentifier to each of these operators.

FIG. 8 shows a signalling diagram for processing a simple query. Thequery parameters have been collected in the terminal as shown inconnection with FIGS. 6 and 7. In step 8-1 the terminal TE sends thequery parameters (the symbol identifiers 71, 73, 75 and 77, andoptionally, the logical operators, 72, 74 and 76) to the proxy serverPS. In step 8-2 the proxy server PS formats a query according to thesyntax of the search engine SE, such as the Google. The query formattingcomprises converting the symbol identifiers 71, 73, 75 and 77 to thecorresponding plaintext descriptions which the proxy server PS retrievesfrom the (internal or external) symbol data base SDB. In step 8-3 theproxy server PS sends the formatted query to the search engine SE. Instep 84 the proxy server PS receives the query results which it conveysto the terminal TE in step 8-5.

FIGS. 9 to 11 relate to queries in which the terminal's location plays akey role. FIG. 9 shows a query that contains a “here” symbol. Manyqueries relate to the terminal's location but the terminal user may notknow the location. Or, the terminal user may not be able to express thelocation in a syntax that is meaningful to the proxy server PS and/orthe search engine SE. Accordingly, it is advantageous to use a “here”symbol.

Assume that the user wishes to search for nearby banks. Accordingly, theuser enters a “here” symbol and a bank symbol, denoted by referencenumerals 94 and 95, respectively. The set 90 of query parameterscomprises a symbol identifier 91 for the “here” symbol 94 and symbolidentifier 93 for the bank symbol 95, and a connecting AND operator 92.As discussed in connection with FIG. 7, the AND operator can betransmitted as such or as a corresponding symbol.

FIG. 10 shows a signalling diagram for processing a query that containsa “here” symbol. The set of query parameters (symbol identifiers andoperators) is collected as shown in FIG. 9. In step 10-2 the terminal TEsends the set of query parameters to the proxy server PS. In step 104the proxy server PS detects the “here” symbol identifier 91 contained inthe set of query parameters. According to another preferred embodimentof the invention, in response to detecting the “here” symbol identifier,the proxy server PS queries the location server LS for the terminal'slocation. (For some applications, requesting a user's location mayrequire that user's permission, but in this example the proxy server isonly providing services for the user, and a permission is implied.) Instep 10-6 the proxy server requests and obtains the terminal's locationfrom the location server LS. In step 10-8 the proxy server formats aquery on the basis of the set of query parameters in which the “here”symbol identifier is converted to a plaintext description of theterminal's location.

The reason for converting the “here” symbol identifier to a plaintextdescription of the terminal's location (instead of precise coordinates)is as follows. It is technically possible for the proxy server PS tomaintain a data base of services, such as banks, doctors, entertainment,etc. based on geographical coordinates, but maintaining an up-to-datelist of services based on geographical coordinates is verylabour-intensive. For example, entertainment schedules are updated dailyor weekly, and it is far better to use existing Internet-based searchengines and services. This can be accomplished if the terminal'slocation is converted to a plaintext description. The proxy server maycontain a conversion table (not shown separately) for converting thelocation server's output to a plaintext description. For example, if thelocation server LS returns coordinates which indicate that the terminalis in Kensington, London, then the coordinates will be converted to aplaintext description of “Kensington”. Alternatively thecoordinates-to-plaintext conversion table may be located in the locationserver LS. In this example, the formatted query is simply “bankkensington”. This query is sent to the search engine in step 10-10. Instep 10-12 the search engine returns the query results. In an optionalstep 10-14 the proxy server PS may format the query results. Forexample, the query results can be translated to the terminal user'spreferred language with a translation engine. Alternatively, the queryresults may be formatted to the small displays in most portableterminals. In step 10-16 the query results are conveyed to the terminalTE.

FIG. 11 shows a signalling diagram for processing a query in case a listof possible terminal locations is known. In step 11-2 the terminal sendsquery parameters “here” and “ACME Bank”. This means that the user wishesto locate local offices of ACME Bank. In step 11-5 the proxy server PSrequests the terminal's location from the location server LS. In thisembodiment, the coordinates-to-plaintext conversion table is located inthe location server LS, and the location server returns a list ofpossible streets in which the terminal TE may be located. As is wellknown, some mobile positioning techniques are based on the terminal'scurrent cell identity, and a cell of a cellular network may encompassseveral streets. According to the embodiment shown in FIG. 11, the proxyserver PS formats the query as follows. The elements in the list oflocations (the possible street names) are separated by an OR operator,and the list is combined to the remaining query parameters with an ANDoperator. In this example, the user's query parameters “here” and “ACMEBank” are converted to “ACME Bank AND (Street1 OR Street2 OR . . . )”.

Assume now that the terminal user is visiting a foreign country, and theuser does not speak the language of that country. To support visitingusers, it is preferable to store the plaintext descriptions in multiplelanguages on the network side, whereby visiting network users can besupported in their own language. A query from the terminal may thencomprise a “desired language” indicator (not shown separately) for thequery results. For example, an English-speaking user may search forlocal banks in a Spanish-speaking country. In this case, the proxyserver PS converts the symbol identifier for “bank” to a plaintextdescription of “banco” and passes it to the search engine SE. If theuser's desired language for the query results is English, the proxyserver may then translate the query results to English, for example, byusing a web-based translation service or an internal translation engine.

According to yet another preferred embodiment of the invention, theremay be a “desired language” indicator for the actual query (not theresults) in which case the proxy server replaces each symbol identifierin the query request with a plaintext description in a language thatmatches the “desired language” indicator. To use the previous example ofan English-speaking user in a Spanish-speaking country, the user mayindicate that the actual query is performed in English. For example, theuser may not be interested in local banks but in banking business ingeneral, in which case the query should be processed in the user's ownlanguage.

FIG. 12 shows an exemplary query request 120 in a mark-up language. Rows121 a and 121 b delineate the query request. Rows 122 a and 122 bdelineate the header of the query request. In this example, the headercontains row 123 that indicates the terminal's identity, which is shownas an MSISDN (Mobile Subscriber Integrated Services Data Network)identity. The proxy server PS will send the terminal identity as aparameter to the location server LS, so that the location server knowsthe terminal whose location is requested. Rows 124 a and 124 b delineatethe body of the query request. Row 125 contains the actual queryparameters, that is, the symbol identifiers and the optional logicaloperators. For example, sym-id1 may be the symbol identifier for“vegetarian” and sym-id2 may be the symbol identifier for “restaurant”.

Rows 126 to 128 are optional enhancements. Row 126 specifies theterminal user's preferred search engine to which the query is to bepassed. The proxy server should be able to convert the logical operatorsto the syntax of the preferred search engine, but this is not adifficult task, considering the fact that there are only a few logicaloperators and well-known search engines.

Rows 127 and 128 are examples of desired language indicators. Row 127specifies that the actual query is to be performed in Spanish. Forexample, if the terminal users wishes to find vegetarian restaurants ina Spanish-speaking area, the query should be performed in Spanish. Row128 specifies the result or output language to which the result of thequery is to be translated (by using an internal or external translationengine).

FIG. 13 shows a signalling diagram for downloading symbols in a networkarrangement as shown in FIG. 5. It is virtually impossible to make aterminal TE that contains all the symbols that users will ever need.Accordingly, situations will arise in which it is desirable to obtainmore symbols. FIG. 13 shows a technique for downloading symbols from asymbol server SS.

In step 13-2 the user enters, via the user interface UI, a request todownload a specific symbol. In step 134 the terminal TE prompts the userfor a description for the symbol. The description corresponds to items13 and 22 in FIGS. 1 and 2. In step 13-6 the user enters thedescription. In step 13-8 the terminal TE sends the symbol server SS arequest for a symbol corresponding to the user-entered description. Ifthe symbol server SS (or the associated symbol data base SDB) has therequested symbol, it will send the symbol to the terminal. In thisexample, however, we will assume that the symbol server does not havethe requested symbol. The symbol server SS is preferably part of anetwork-wide or global hierarchy of symbol servers in which a symbolserver consults another server, such as a top-level server, if it doesnot have a requested symbol. In this case the local symbol server SSconveys the symbol request to the top-level server TS, which is assumedto have the requested symbol. Or, the top-level server TS may send aninquiry for other symbol servers (this step not shown separately). Instep 13-12 the top-level server sends the requested symbol to the localsymbol server SS which conveys it to the terminal TE in step 13-14. Instep 13-16 the terminal TE stores the downloaded symbol in its memory.In an optional step 13-18 the symbol server SS sends the billing centreBC billing data, such as a charging data record, that indicates thenumber, price and/or type of symbols transferred to the terminal.

For clarity, FIG. 13 shows a scenario in which a single symbol isdownloaded in response to a single request. That is, the symbol request13-8 only indicates a single symbol. As an alternative, the symbolrequest 13-8 can indicate several symbols, in which case all therequested symbols (or that are all available to the symbol server) aredownloaded together. As a yet further alternative, a single symbolrequest 13-8 may indicate a logical group of symbols that are downloadedtogether. For instance, a theme group of symbols, such as“entertainment”, can be downloaded as a group, whereby a symbol does nothave to be requested and downloaded for each type of entertainmentseparately. Similarly, at the time of major events, such as the Olympicgames or the football World cup, network operators may offer relatedsymbols as groups. Especially with such symbol groups, it isadvantageous to download the symbols in compressed form so as not towaste telecommunication resources.

If the symbol hierarchy 310 shown in FIG. 3 is used, the downloadedsymbols may indicate a default branch in the hierarchy, whereby the userdoes not have to navigate to that location explicitly. For example, asymbol for “Operas” may have a row of “<domain>Entertainment</domain>”.

FIG. 13 shows an embodiment in which the terminal prompts the user for adescription of a symbol to be downloaded. It is equally possible to usea shopping-cart analogy, in which the user browses the symbol server andselects one or more symbols for downloading. The two approaches(prompting and browsing) can be mixed such that if the symbols server(or the higher-level server) does not have a requested symbol, the useris allowed to browse the available symbols. The shopping cart analogy isnot perfect, however, because browsing a large collection of symbolsvisually requires that the visual data of symbols must be transferred tothe user's terminal, which may consume large amounts of radio resources.Accordingly, the user may be offered a chance to browse the plaintextdescriptions of the symbols. Or, the user may browse the availablesymbols with a personal computer and create a set of symbols to bedownloaded. The set of symbols can then be downloaded directly to theterminal. Or, the set of symbols can be first downloaded to thecomputer, from which the symbols are transferred to the terminal via anysuitable interface, such as a Bluetooth interface, serial connection,infrared link, or the like. Moreover, detachable memory cards may betransferred between the user terminal TE and the personal computer PC.

If several symbols are to be downloaded at a time, it is beneficial ifthe downloading takes place at a time when transmission charges are low,which typically means night-time. On the other hand, it may beinconvenient for the terminal user to request symbol downloading atnight. Accordingly, it is beneficial if the symbol downloading can bespecified to take place at some predetermined point in the future. Thepoint in the future in the future may mean a specific hour, such asafter midnight. Alternatively, it may mean any point of time when aspecific set of criteria are satisfied. For instance, it is envisionedthat future telecommunication networks may use dynamic tariffs, based oncurrent load. The networks broadcast advertising messages that announcethe current tariff or special discount. Thus one example of a criterionis that the tariff is below a given threshold. Another example of acriterion is that there is a radio connection to a specified network.For instance, some multi-purpose mobile terminals can be used off-lineon airplanes, and the user may specify in advance that a set of symbolsrelevant to the visited country will be downloaded as soon as a radioconnection can be established.

Thus it is beneficial if the terminal can defer sending the downloadrequest until a predetermined point of time or until a set of conditionsare met. Alternatively, the terminal may specify the set of conditionsin the symbol request to the symbol server, in which case the symbolserver defers transmission until the set of conditions are met.

In connection with FIG. 1, it was stated that the visual data of symbolsshould be detailed enough to permit reliable recognition of symbols, butnot so detailed as to consume large amounts of resources. Accordingly,the symbol server may store the visual data of symbols in multipleresolutions (or in a resolution-independent vector form), and the visualdata of symbols transferred to the terminal is dimensioned according tothe size and resolution of the terminal's display.

According to yet another preferred embodiment of the invention, thesymbol server is adapted to update existing symbols in the terminaland/or the proxy server. For instance, such updating may comprisetransferring the plaintext description of symbols in one or more newlanguages.

While various embodiments of the invention have been described indetail, it should be understood that many modifications to theembodiments can be made without departing from the scope of theinvention. For example, the attached drawings show the search engine SEand the proxy server PS as separate elements, but it is equally possibleto implement the proxy server as an internal front-end to the searchengine. Similarly, the two inventive elements, namely the proxy serverPS and the symbol server SS have been shown as integrated in a singlenetwork element, but it is equally possible to separate these elements.Also, the terminal TE is shown as a wireless terminal that does not havea full-size keyboard. It is not essential that the terminal is wirelessor lacks a full-size keyboard, however, and some benefits of theinvention are achieved with conventional desktop computers. The word‘terminal’ implies that the device can act as a terminal, in otherwords, send query parameters and receive query results. Yet further, thebilling aspects of the invention have been shown only in connection withsymbol downloading, but it is equally possible to charge the terminalsubscriber for acting as a convenient front-end to conventional searchengines. Moreover, the inventive servers and databases can be installedin the access network, instead of being installed in the data network,as shown in the attached drawings.

1-42. (canceled)
 43. A method for initiating a query from a terminal, the method comprising: storing in the terminal a plurality of symbols, wherein each symbol comprises at least a symbol identifier and visual data; forming, in the terminal, a set of user-selected symbols, the forming step comprising: (a) presenting the visual data of one or more symbols to a user; (b) in response to the user selecting a symbol, adding the symbol to the set of user-selected symbols; (c) repeating at least step until termination by the user; the terminal sending a proxy server a set of query parameters, such that the set of query parameters indicates the set of user-selected symbols and at least one of the query parameters is a symbol identifier; and receiving the results of the query.
 44. A method for processing a query request from a terminal, the method comprising the following steps executed by a proxy server: storing a plurality of symbols, wherein each symbol comprises at least a symbol identifier and a plaintext description; receiving the query request from the terminal, the query request comprising a set of query parameters, such that the set of query parameters indicates a set of user-selected symbols and at least one of the query parameters is a symbol identifier; replacing each symbol identifier in the query request with a corresponding plaintext description and presenting the query parameters in a query to the search engine; and conveying the results of the query to the terminal.
 45. A method according to claim 44, further comprising, in response to detecting a “here” symbol as one of the query parameters, determining the terminal's approximate location and converting the approximate location to a plaintext form.
 46. A method according to claim 45, further comprising consulting a mobile location server.
 47. A method according to claim 45, further comprising, if the terminal's approximate location in plaintext form is a list of locations, separating the elements of the list of locations with an “OR” operator in the query.
 48. A method according to claim 44, further comprising: storing the plaintext description of at least some symbols in multiple languages; detecting a “desired language” indicator in the query request; and replacing each symbol identifier in the query request with a plaintext description in a language that matches the “desired language” indicator.
 49. A method according to claim 44, wherein the step of receiving the query request from the terminal is preceded by the steps of: a symbol server receiving one or more symbol requests from the terminal; and the symbol server transferring the terminal one or more symbols that match the one or more symbol requests.
 50. A method according to claim 49, wherein the one or more symbol requests comprise a plaintext description.
 51. A method according to claim 44, further comprising consulting another server if the query request comprises a symbol identifier for which a corresponding symbol is not stored in the proxy server.
 52. A method according to claim 50, further comprising consulting another server if the symbol request comprises a plaintext description for which a corresponding symbol is not stored in the symbol server.
 53. A method according to claim 49, wherein the transferring step comprises transferring a logical group of symbols.
 54. A method according to any one of claim 49, wherein the transferring step takes place when a set of user-specified criteria are met.
 55. A method according to claim 54, wherein the transferring step comprises transferring a logical group of symbols in response to a single user act or request.
 56. A terminal for initiating a query, the terminal comprising: memory for storing a plurality of symbols, wherein each symbol comprises at least a symbol identifier and visual data; a user interface logic for forming a set of user-selected symbols, wherein the user interface logic comprises: (a) a first routine for presenting the visual data of symbols to a user for selection by the user; (b) a second routine for adding each user-selected symbol to the set of user-selected symbols, until termination by the user; a logic for sending a set of query parameters to a proxy server, such that the set of query parameters indicates the set of user-selected symbols and at least one of the query parameters is a symbol identifier.
 57. A terminal according to claim 56, further comprising means for requesting and receiving symbols from an external device.
 58. A terminal according to claim 56, wherein each symbol also comprises a flag indicating whether the symbol is user-modifiable.
 59. A terminal according to claim 56, further comprising a symbol hierarchy, the symbol hierarchy having a root and multiple branches.
 60. A terminal according to claim 56, wherein the terminal is operable to store at least one symbol in multiple branches.
 61. A terminal according to claim 56, wherein the symbol is coded in a mark-up language.
 62. A terminal according to claim 56, wherein the visual data is in a scalable vector graphics format.
 63. A terminal according to claim 56, wherein the visual data is a reference to an image file separate from the symbol.
 64. A terminal according to claim 57, further comprising means for requesting said symbols at a user-specified time.
 65. A terminal according to claim 57, further comprising means for requesting said symbols when a set of user-specified criteria are met.
 66. A proxy server for processing a query request from a terminal, the proxy server comprising: a database for storing a plurality of symbols, wherein each symbol comprises at least a symbol identifier and a plaintext description; a first logic for receiving the query request from the terminal, the query request comprising a set of query parameters, such that the set of query parameters indicates a set of user-selected symbols and at least one of the query parameters is a symbol identifier; a second logic for replacing each symbol identifier in the query request with a plaintext description; a third logic for presenting the query parameters in a query to a search engine; and a fourth logic for conveying results of the query to the terminal.
 67. A proxy server according to claim 66, further comprising: a fifth logic for detecting a “here” symbol in the query request and for converting the “here” symbol to the terminal's approximate location.
 68. A proxy server according to claim 67, wherein the fifth logic comprises means for consulting a mobile location server.
 69. A proxy server according to claim 67, wherein the fifth logic comprises means for receiving the terminal's approximate location as a list of elements, and means for presenting the elements of the list to the search engine, separated by an OR operator between any two elements.
 70. A proxy server according to claim 66, wherein the database stores the plaintext description in several human languages for at least some of the symbols.
 71. A proxy server according to claim 70, further comprising: means for detecting a “desired language” indicator for the query; and means for selecting a plaintext description for each symbol in a language indicated by the “desired language” indicator.
 72. A proxy server according to claim 70, further comprising: means for detecting a “desired language” indicator for the results of the query; and means for translating the results of the query to a language indicated by the “desired language” indicator.
 73. A proxy server according to claim 66, further comprising: means for detecting a preferred search engine indicator for the results of the query; and means for presenting the query parameters to the search engine indicated by the preferred search engine indicator.
 74. A proxy server according to claim 66, further comprising means for sending a billing centre an indication on the number, price and/or type of query requests received from the terminal.
 75. A symbol server for sending one or more symbols to a terminal, the symbol server comprising: a symbol data base for storing a plurality of symbols, wherein each symbol comprises at least a symbol identifier, and visual data; means for receiving a symbol request from the terminal; and means for sending one or more symbols that match the symbol request to the terminal.
 76. A symbol server according to claim 75, wherein each symbol also comprises at least one plaintext description.
 77. A symbol server according to claim 75, wherein the symbol request comprises a plaintext description of the symbol indicated by the symbol request and the symbol server is operable to send the terminal one or more symbols that comprise the plaintext description comprised in the symbol request.
 78. A symbol server according to claim 76, wherein at least some symbols comprise the plaintext description in several human languages.
 79. A symbol server according to claim 78, further comprising means to detect a desired language indicator in the symbol request; and means for sending the one or more symbols with a plaintext description in a language that matches the desired language indicator.
 80. A symbol server according to claim 75, further comprising means for consulting another server if the symbol server does not contain a symbol matching the symbol request.
 81. A symbol server according to claim 75, further comprising means for sending a billing centre an indication on the number, price and/or type of symbols transferred to the terminal.
 82. A symbol server according to claim 75, further comprising means for sending the one or more symbols at a time indicated by the symbol request.
 83. A symbol server according to claim 75, further comprising means for sending the one or more symbols when a set of criteria indicated by the symbol request are met.
 84. A symbol server according to claim 75, further comprising means for updating existing symbols in the terminal and/or a proxy server. 